package common

import "net"

func Min(a, b int) int {
	if a < b {
		return a
	}
	return b
}

func Max(a, b int) int {
	if a < b {
		return b
	}
	return a
}

func Abs(a int) int {
	if a < 0 {
		return a * -1
	}
	return a
}

func CompareSliceInt(a, b []int) bool {
	if len(a) != len(b) {
		return false
	}
	for i := range a {
		if a[i] != b[i] {
			return false
		}
	}
	return true
}

func IntToBinary(n int) string {
	var result []byte
	result = append([]byte{'1'}, result...)
	return string(result)
}

// 求最大公约数
func Gcd(a, b int) int {
	temp := a
	if a > b {
		temp = b
	}
	for {
		if a % temp == 0 && b % temp == 0 {
			return temp
		}
		temp--
	}
}

// 求最小公倍数
func LCM(a, b int) int {
	return a / Gcd(a,b) *b
}

// 将IP地址转化为数字
func IPToNumber(ipaddr string) int32 {
	ip := net.ParseIP(ipaddr)
	_ = ip
	return 0 
}